1
Проектный план: Создание инструмента grep на языке Rust
AI034Lesson 12
00:00

В мире Rust надёжный утилитный инструмент — это не просто один скрипт; это тщательно спланированный Проектный план. Чтобы создать инструмент подобный grep, мы разделяем работу между Бинарным крейтом и библиотечным крейтом.

1. Метафора кофемашины

Представьте высококлассную кофемашину. В файле lib.rs находятся внутренние механизмы для нагрева воды и измельчения зерен — «логика двигателя». Файл main.rs — это внешняя кнопка, которую пользователь нажимает — «интерфейс». Сохраняя их отдельными, техник может тестировать нагреватель (библиотеку), не нажимая физическую кнопку (бинарный файл) каждый раз.

2. Сборка двигателя

Мы начинаем с команды $ cargo new minigrep. Хотя она создаёт файл main.rs, нам нужно вручную добавить src/lib.rs. Это архитектурное разделение гарантирует, что наша основная логика поиска остаётся независимой от парсинга командной строки, что облегчает тестирование и модульность.

Бинарным крейтомsrc/main.rs(«Запуск»)библиотечным крейтомsrc/lib.rs(«Двигатель»)Вызывает логику

3. Тестируемая модульность

Перемещая логику в lib.rs, мы используем систему тестирования Rust для вызова функций библиотеки в контролируемой среде. Мы используем use minigrep; в нашем бинарном файле для импорта двигателя, сохраняя логику парсинга командной строки изолированной.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>